package org.sdp.pearproject.dao.domain;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * InterfaceName: ProjectForMemberBaseExample
 * @Description:
 * @Author: SDP
 * @Date: 2022-07-26
 * @Version: 1.0
 * Table: pear_project
 * Comment:
 * 项目表
 */
public class ProjectForMemberBaseExample extends BaseExample {
    protected Integer limitClause;

    protected Integer countClause;

    protected Integer topClause;

    protected ProjectForMemberBase simple;

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProjectForMemberBaseExample() {
        oredCriteria = new ArrayList<>();
        simple = new ProjectForMemberBase();
    }

    public void setLimitClause(Integer limitClause) {
        this.limitClause = limitClause;
    }

    public Integer getLimitClause() {
        return limitClause;
    }

    public void setCountClause(Integer countClause) {
        this.countClause = countClause;
    }

    public Integer getCountClause() {
        return countClause;
    }

    public void setTopClause(Integer topClause) {
        this.topClause = topClause;
    }

    public Integer getTopClause() {
        return topClause;
    }

    public void setSimple(ProjectForMemberBase simple) {
        this.simple = simple;
    }

    public ProjectForMemberBase getSimple() {
        return simple;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public static ProjectForMemberBaseExample createExample(ProjectForMemberBase request) throws Exception {
        return createExample(request, null);
    }

    public static ProjectForMemberBaseExample createExample(ProjectForMemberBase request, JSONObject options) throws Exception {
        ProjectForMemberBaseExample example = new ProjectForMemberBaseExample();
        example.setSimple(request);
        ProjectForMemberBaseExample.Criteria criteria = example.createCriteria();

        example.fixExample(ProjectForMemberBase.class, CriteriaString.class, criteria, options);

        if (options != null) {
            String orderBy = "";
            if (options.containsKey("order_by")) {
                orderBy = setCriteriaOrderBy(options.getJSONArray("order_by"), example);
                if (orderBy.length() > 0) {
                    example.setOrderByClause(orderBy);
                }
            }
        }

        return example;
    }

    private static String setCriteriaOrderBy(JSONArray jsonArray, ProjectForMemberBaseExample example) throws Exception {
        List<Object> request = Criterion.toList(jsonArray, CriteriaString.class);
        StringBuilder sb = new StringBuilder();
        int count = 0;
        for(int i = 0; i < request.size(); i++) {
            Object criteriaOrderByObj  = request.get(i);
            CriteriaString criteriaOrderBy = (CriteriaString)criteriaOrderByObj;
            int subCount = 0;

            subCount += appendCriteriaOrderByItem(sb, "account_id", criteriaOrderBy.getAccountId());
            subCount += appendCriteriaOrderByItem(sb, "id", criteriaOrderBy.getId());
            subCount += appendCriteriaOrderByItem(sb, "account", criteriaOrderBy.getAccount());
            subCount += appendCriteriaOrderByItem(sb, "`password`", criteriaOrderBy.getPassword());
            subCount += appendCriteriaOrderByItem(sb, "`name`", criteriaOrderBy.getName());
            subCount += appendCriteriaOrderByItem(sb, "mobile", criteriaOrderBy.getMobile());
            subCount += appendCriteriaOrderByItem(sb, "realname", criteriaOrderBy.getRealname());
            subCount += appendCriteriaOrderByItem(sb, "create_time", criteriaOrderBy.getCreateTime());
            subCount += appendCriteriaOrderByItem(sb, "`status`", criteriaOrderBy.getStatus());
            subCount += appendCriteriaOrderByItem(sb, "last_login_time", criteriaOrderBy.getLastLoginTime());
            subCount += appendCriteriaOrderByItem(sb, "sex", criteriaOrderBy.getSex());
            subCount += appendCriteriaOrderByItem(sb, "avatar", criteriaOrderBy.getAvatar());
            subCount += appendCriteriaOrderByItem(sb, "idcard", criteriaOrderBy.getIdcard());
            subCount += appendCriteriaOrderByItem(sb, "province", criteriaOrderBy.getProvince());
            subCount += appendCriteriaOrderByItem(sb, "city", criteriaOrderBy.getCity());
            subCount += appendCriteriaOrderByItem(sb, "area", criteriaOrderBy.getArea());
            subCount += appendCriteriaOrderByItem(sb, "address", criteriaOrderBy.getAddress());
            subCount += appendCriteriaOrderByItem(sb, "email", criteriaOrderBy.getEmail());
            subCount += appendCriteriaOrderByItem(sb, "code", criteriaOrderBy.getCode());
            subCount += appendCriteriaOrderByItem(sb, "dingtalk_openid", criteriaOrderBy.getDingtalkOpenid());
            subCount += appendCriteriaOrderByItem(sb, "dingtalk_unionid", criteriaOrderBy.getDingtalkUnionid());
            subCount += appendCriteriaOrderByItem(sb, "dingtalk_userid", criteriaOrderBy.getDingtalkUserid());
            subCount += appendCriteriaOrderByItem(sb, "description", criteriaOrderBy.getDescription());
            subCount += appendCriteriaOrderByItem(sb, "member_code", criteriaOrderBy.getMemberCode());
            subCount += appendCriteriaOrderByItem(sb, "member_code2", criteriaOrderBy.getMemberCode2());
            subCount += appendCriteriaOrderByItem(sb, "organization_code", criteriaOrderBy.getOrganizationCode());
            subCount += appendCriteriaOrderByItem(sb, "department", criteriaOrderBy.getDepartment());
            subCount += appendCriteriaOrderByItem(sb, "`position`", criteriaOrderBy.getPosition());
            subCount += appendCriteriaOrderByItem(sb, "authorize", criteriaOrderBy.getAuthorize());
            subCount += appendCriteriaOrderByItem(sb, "is_owner", criteriaOrderBy.getIsOwner());
            subCount += appendCriteriaOrderByItem(sb, "account_avatar", criteriaOrderBy.getAccountAvatar());
            if (subCount > 1) {
                throw new Exception("order by数组元素对象属性多于1个(ProjectForMemberBaseExample):"+count+","+JSON.toJSONString(jsonArray.get(i)));
            }
            if (subCount == 0 && !"{}".equals(JSON.toJSONString(jsonArray.get(i)))) {
                throw new Exception("存在非法order by 字段(ProjectForMemberBaseExample):"+count+","+JSON.toJSONString(jsonArray.get(i)));
            }
            count++;
        }
        if (sb.length() == 0) {
            appendCriteriaOrderByItem(sb, "1", "");
        }

        return sb.toString();
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAccountIdIsNull() {
            addCriterion("account_id is null");
            return (Criteria) this;
        }

        public Criteria andAccountIdIsNotNull() {
            addCriterion("account_id is not null");
            return (Criteria) this;
        }

        public Criteria andAccountIdEqualTo(Integer value) {
            addCriterion("account_id =", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotEqualTo(Integer value) {
            addCriterion("account_id <>", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThan(Integer value) {
            addCriterion("account_id >", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("account_id >=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThan(Integer value) {
            addCriterion("account_id <", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThanOrEqualTo(Integer value) {
            addCriterion("account_id <=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdIn(List<Integer> values) {
            addCriterion("account_id in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotIn(List<Integer> values) {
            addCriterion("account_id not in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdBetween(Integer value1, Integer value2) {
            addCriterion("account_id between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotBetween(Integer value1, Integer value2) {
            addCriterion("account_id not between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAccountIsNull() {
            addCriterion("account is null");
            return (Criteria) this;
        }

        public Criteria andAccountIsNotNull() {
            addCriterion("account is not null");
            return (Criteria) this;
        }

        public Criteria andAccountEqualTo(String value) {
            addCriterion("account =", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotEqualTo(String value) {
            addCriterion("account <>", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountGreaterThan(String value) {
            addCriterion("account >", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountGreaterThanOrEqualTo(String value) {
            addCriterion("account >=", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLessThan(String value) {
            addCriterion("account <", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLessThanOrEqualTo(String value) {
            addCriterion("account <=", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountRegexp(String value) {
            addCriterion("account regexp", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLike(String value) {
            addCriterion("account like", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotLike(String value) {
            addCriterion("account not like", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountIn(List<String> values) {
            addCriterion("account in", values, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotIn(List<String> values) {
            addCriterion("account not in", values, "account");
            return (Criteria) this;
        }

        public Criteria andAccountBetween(String value1, String value2) {
            addCriterion("account between", value1, value2, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotBetween(String value1, String value2) {
            addCriterion("account not between", value1, value2, "account");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNull() {
            addCriterion("`password` is null");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion("`password` is not null");
            return (Criteria) this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion("`password` =", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion("`password` <>", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion("`password` >", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("`password` >=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion("`password` <", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion("`password` <=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordRegexp(String value) {
            addCriterion("`password` regexp", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLike(String value) {
            addCriterion("`password` like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotLike(String value) {
            addCriterion("`password` not like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordIn(List<String> values) {
            addCriterion("`password` in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotIn(List<String> values) {
            addCriterion("`password` not in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion("`password` between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion("`password` not between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("`name` is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("`name` is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("`name` =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("`name` <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("`name` >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("`name` >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("`name` <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("`name` <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameRegexp(String value) {
            addCriterion("`name` regexp", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("`name` like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("`name` not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("`name` in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("`name` not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("`name` between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("`name` not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andMobileIsNull() {
            addCriterion("mobile is null");
            return (Criteria) this;
        }

        public Criteria andMobileIsNotNull() {
            addCriterion("mobile is not null");
            return (Criteria) this;
        }

        public Criteria andMobileEqualTo(String value) {
            addCriterion("mobile =", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotEqualTo(String value) {
            addCriterion("mobile <>", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThan(String value) {
            addCriterion("mobile >", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThanOrEqualTo(String value) {
            addCriterion("mobile >=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThan(String value) {
            addCriterion("mobile <", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThanOrEqualTo(String value) {
            addCriterion("mobile <=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileRegexp(String value) {
            addCriterion("mobile regexp", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLike(String value) {
            addCriterion("mobile like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotLike(String value) {
            addCriterion("mobile not like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileIn(List<String> values) {
            addCriterion("mobile in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotIn(List<String> values) {
            addCriterion("mobile not in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileBetween(String value1, String value2) {
            addCriterion("mobile between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotBetween(String value1, String value2) {
            addCriterion("mobile not between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andRealnameIsNull() {
            addCriterion("realname is null");
            return (Criteria) this;
        }

        public Criteria andRealnameIsNotNull() {
            addCriterion("realname is not null");
            return (Criteria) this;
        }

        public Criteria andRealnameEqualTo(String value) {
            addCriterion("realname =", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotEqualTo(String value) {
            addCriterion("realname <>", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameGreaterThan(String value) {
            addCriterion("realname >", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameGreaterThanOrEqualTo(String value) {
            addCriterion("realname >=", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameLessThan(String value) {
            addCriterion("realname <", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameLessThanOrEqualTo(String value) {
            addCriterion("realname <=", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameRegexp(String value) {
            addCriterion("realname regexp", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameLike(String value) {
            addCriterion("realname like", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotLike(String value) {
            addCriterion("realname not like", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameIn(List<String> values) {
            addCriterion("realname in", values, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotIn(List<String> values) {
            addCriterion("realname not in", values, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameBetween(String value1, String value2) {
            addCriterion("realname between", value1, value2, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotBetween(String value1, String value2) {
            addCriterion("realname not between", value1, value2, "realname");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(String value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(String value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(String value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(String value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(String value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(String value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeRegexp(String value) {
            addCriterion("create_time regexp", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLike(String value) {
            addCriterion("create_time like", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotLike(String value) {
            addCriterion("create_time not like", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<String> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<String> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(String value1, String value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(String value1, String value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("`status` is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("`status` is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("`status` =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("`status` <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("`status` >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("`status` >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("`status` <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("`status` <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("`status` in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("`status` not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("`status` between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("`status` not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeIsNull() {
            addCriterion("last_login_time is null");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeIsNotNull() {
            addCriterion("last_login_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeEqualTo(String value) {
            addCriterion("last_login_time =", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotEqualTo(String value) {
            addCriterion("last_login_time <>", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeGreaterThan(String value) {
            addCriterion("last_login_time >", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeGreaterThanOrEqualTo(String value) {
            addCriterion("last_login_time >=", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeLessThan(String value) {
            addCriterion("last_login_time <", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeLessThanOrEqualTo(String value) {
            addCriterion("last_login_time <=", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeRegexp(String value) {
            addCriterion("last_login_time regexp", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeLike(String value) {
            addCriterion("last_login_time like", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotLike(String value) {
            addCriterion("last_login_time not like", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeIn(List<String> values) {
            addCriterion("last_login_time in", values, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotIn(List<String> values) {
            addCriterion("last_login_time not in", values, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeBetween(String value1, String value2) {
            addCriterion("last_login_time between", value1, value2, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotBetween(String value1, String value2) {
            addCriterion("last_login_time not between", value1, value2, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("sex is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("sex is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(String value) {
            addCriterion("sex =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(String value) {
            addCriterion("sex <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(String value) {
            addCriterion("sex >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(String value) {
            addCriterion("sex >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(String value) {
            addCriterion("sex <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(String value) {
            addCriterion("sex <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexRegexp(String value) {
            addCriterion("sex regexp", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLike(String value) {
            addCriterion("sex like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotLike(String value) {
            addCriterion("sex not like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<String> values) {
            addCriterion("sex in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<String> values) {
            addCriterion("sex not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(String value1, String value2) {
            addCriterion("sex between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(String value1, String value2) {
            addCriterion("sex not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andAvatarIsNull() {
            addCriterion("avatar is null");
            return (Criteria) this;
        }

        public Criteria andAvatarIsNotNull() {
            addCriterion("avatar is not null");
            return (Criteria) this;
        }

        public Criteria andAvatarEqualTo(String value) {
            addCriterion("avatar =", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotEqualTo(String value) {
            addCriterion("avatar <>", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarGreaterThan(String value) {
            addCriterion("avatar >", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarGreaterThanOrEqualTo(String value) {
            addCriterion("avatar >=", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarLessThan(String value) {
            addCriterion("avatar <", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarLessThanOrEqualTo(String value) {
            addCriterion("avatar <=", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarRegexp(String value) {
            addCriterion("avatar regexp", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarLike(String value) {
            addCriterion("avatar like", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotLike(String value) {
            addCriterion("avatar not like", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarIn(List<String> values) {
            addCriterion("avatar in", values, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotIn(List<String> values) {
            addCriterion("avatar not in", values, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarBetween(String value1, String value2) {
            addCriterion("avatar between", value1, value2, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotBetween(String value1, String value2) {
            addCriterion("avatar not between", value1, value2, "avatar");
            return (Criteria) this;
        }

        public Criteria andIdcardIsNull() {
            addCriterion("idcard is null");
            return (Criteria) this;
        }

        public Criteria andIdcardIsNotNull() {
            addCriterion("idcard is not null");
            return (Criteria) this;
        }

        public Criteria andIdcardEqualTo(String value) {
            addCriterion("idcard =", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotEqualTo(String value) {
            addCriterion("idcard <>", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardGreaterThan(String value) {
            addCriterion("idcard >", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardGreaterThanOrEqualTo(String value) {
            addCriterion("idcard >=", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLessThan(String value) {
            addCriterion("idcard <", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLessThanOrEqualTo(String value) {
            addCriterion("idcard <=", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardRegexp(String value) {
            addCriterion("idcard regexp", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLike(String value) {
            addCriterion("idcard like", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotLike(String value) {
            addCriterion("idcard not like", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardIn(List<String> values) {
            addCriterion("idcard in", values, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotIn(List<String> values) {
            addCriterion("idcard not in", values, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardBetween(String value1, String value2) {
            addCriterion("idcard between", value1, value2, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotBetween(String value1, String value2) {
            addCriterion("idcard not between", value1, value2, "idcard");
            return (Criteria) this;
        }

        public Criteria andProvinceIsNull() {
            addCriterion("province is null");
            return (Criteria) this;
        }

        public Criteria andProvinceIsNotNull() {
            addCriterion("province is not null");
            return (Criteria) this;
        }

        public Criteria andProvinceEqualTo(Integer value) {
            addCriterion("province =", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceNotEqualTo(Integer value) {
            addCriterion("province <>", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceGreaterThan(Integer value) {
            addCriterion("province >", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceGreaterThanOrEqualTo(Integer value) {
            addCriterion("province >=", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceLessThan(Integer value) {
            addCriterion("province <", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceLessThanOrEqualTo(Integer value) {
            addCriterion("province <=", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceIn(List<Integer> values) {
            addCriterion("province in", values, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceNotIn(List<Integer> values) {
            addCriterion("province not in", values, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceBetween(Integer value1, Integer value2) {
            addCriterion("province between", value1, value2, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceNotBetween(Integer value1, Integer value2) {
            addCriterion("province not between", value1, value2, "province");
            return (Criteria) this;
        }

        public Criteria andCityIsNull() {
            addCriterion("city is null");
            return (Criteria) this;
        }

        public Criteria andCityIsNotNull() {
            addCriterion("city is not null");
            return (Criteria) this;
        }

        public Criteria andCityEqualTo(Integer value) {
            addCriterion("city =", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotEqualTo(Integer value) {
            addCriterion("city <>", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThan(Integer value) {
            addCriterion("city >", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThanOrEqualTo(Integer value) {
            addCriterion("city >=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThan(Integer value) {
            addCriterion("city <", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThanOrEqualTo(Integer value) {
            addCriterion("city <=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityIn(List<Integer> values) {
            addCriterion("city in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotIn(List<Integer> values) {
            addCriterion("city not in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityBetween(Integer value1, Integer value2) {
            addCriterion("city between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotBetween(Integer value1, Integer value2) {
            addCriterion("city not between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andAreaIsNull() {
            addCriterion("area is null");
            return (Criteria) this;
        }

        public Criteria andAreaIsNotNull() {
            addCriterion("area is not null");
            return (Criteria) this;
        }

        public Criteria andAreaEqualTo(Integer value) {
            addCriterion("area =", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaNotEqualTo(Integer value) {
            addCriterion("area <>", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaGreaterThan(Integer value) {
            addCriterion("area >", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaGreaterThanOrEqualTo(Integer value) {
            addCriterion("area >=", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaLessThan(Integer value) {
            addCriterion("area <", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaLessThanOrEqualTo(Integer value) {
            addCriterion("area <=", value, "area");
            return (Criteria) this;
        }

        public Criteria andAreaIn(List<Integer> values) {
            addCriterion("area in", values, "area");
            return (Criteria) this;
        }

        public Criteria andAreaNotIn(List<Integer> values) {
            addCriterion("area not in", values, "area");
            return (Criteria) this;
        }

        public Criteria andAreaBetween(Integer value1, Integer value2) {
            addCriterion("area between", value1, value2, "area");
            return (Criteria) this;
        }

        public Criteria andAreaNotBetween(Integer value1, Integer value2) {
            addCriterion("area not between", value1, value2, "area");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressRegexp(String value) {
            addCriterion("address regexp", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("address not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailRegexp(String value) {
            addCriterion("email regexp", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeRegexp(String value) {
            addCriterion("code regexp", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidIsNull() {
            addCriterion("dingtalk_openid is null");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidIsNotNull() {
            addCriterion("dingtalk_openid is not null");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidEqualTo(String value) {
            addCriterion("dingtalk_openid =", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidNotEqualTo(String value) {
            addCriterion("dingtalk_openid <>", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidGreaterThan(String value) {
            addCriterion("dingtalk_openid >", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidGreaterThanOrEqualTo(String value) {
            addCriterion("dingtalk_openid >=", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidLessThan(String value) {
            addCriterion("dingtalk_openid <", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidLessThanOrEqualTo(String value) {
            addCriterion("dingtalk_openid <=", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidRegexp(String value) {
            addCriterion("dingtalk_openid regexp", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidLike(String value) {
            addCriterion("dingtalk_openid like", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidNotLike(String value) {
            addCriterion("dingtalk_openid not like", value, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidIn(List<String> values) {
            addCriterion("dingtalk_openid in", values, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidNotIn(List<String> values) {
            addCriterion("dingtalk_openid not in", values, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidBetween(String value1, String value2) {
            addCriterion("dingtalk_openid between", value1, value2, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkOpenidNotBetween(String value1, String value2) {
            addCriterion("dingtalk_openid not between", value1, value2, "dingtalkOpenid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidIsNull() {
            addCriterion("dingtalk_unionid is null");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidIsNotNull() {
            addCriterion("dingtalk_unionid is not null");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidEqualTo(String value) {
            addCriterion("dingtalk_unionid =", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidNotEqualTo(String value) {
            addCriterion("dingtalk_unionid <>", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidGreaterThan(String value) {
            addCriterion("dingtalk_unionid >", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidGreaterThanOrEqualTo(String value) {
            addCriterion("dingtalk_unionid >=", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidLessThan(String value) {
            addCriterion("dingtalk_unionid <", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidLessThanOrEqualTo(String value) {
            addCriterion("dingtalk_unionid <=", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidRegexp(String value) {
            addCriterion("dingtalk_unionid regexp", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidLike(String value) {
            addCriterion("dingtalk_unionid like", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidNotLike(String value) {
            addCriterion("dingtalk_unionid not like", value, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidIn(List<String> values) {
            addCriterion("dingtalk_unionid in", values, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidNotIn(List<String> values) {
            addCriterion("dingtalk_unionid not in", values, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidBetween(String value1, String value2) {
            addCriterion("dingtalk_unionid between", value1, value2, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUnionidNotBetween(String value1, String value2) {
            addCriterion("dingtalk_unionid not between", value1, value2, "dingtalkUnionid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridIsNull() {
            addCriterion("dingtalk_userid is null");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridIsNotNull() {
            addCriterion("dingtalk_userid is not null");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridEqualTo(String value) {
            addCriterion("dingtalk_userid =", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridNotEqualTo(String value) {
            addCriterion("dingtalk_userid <>", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridGreaterThan(String value) {
            addCriterion("dingtalk_userid >", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridGreaterThanOrEqualTo(String value) {
            addCriterion("dingtalk_userid >=", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridLessThan(String value) {
            addCriterion("dingtalk_userid <", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridLessThanOrEqualTo(String value) {
            addCriterion("dingtalk_userid <=", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridRegexp(String value) {
            addCriterion("dingtalk_userid regexp", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridLike(String value) {
            addCriterion("dingtalk_userid like", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridNotLike(String value) {
            addCriterion("dingtalk_userid not like", value, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridIn(List<String> values) {
            addCriterion("dingtalk_userid in", values, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridNotIn(List<String> values) {
            addCriterion("dingtalk_userid not in", values, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridBetween(String value1, String value2) {
            addCriterion("dingtalk_userid between", value1, value2, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDingtalkUseridNotBetween(String value1, String value2) {
            addCriterion("dingtalk_userid not between", value1, value2, "dingtalkUserid");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionRegexp(String value) {
            addCriterion("description regexp", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andMemberCodeIsNull() {
            addCriterion("member_code is null");
            return (Criteria) this;
        }

        public Criteria andMemberCodeIsNotNull() {
            addCriterion("member_code is not null");
            return (Criteria) this;
        }

        public Criteria andMemberCodeEqualTo(String value) {
            addCriterion("member_code =", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotEqualTo(String value) {
            addCriterion("member_code <>", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeGreaterThan(String value) {
            addCriterion("member_code >", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeGreaterThanOrEqualTo(String value) {
            addCriterion("member_code >=", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeLessThan(String value) {
            addCriterion("member_code <", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeLessThanOrEqualTo(String value) {
            addCriterion("member_code <=", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeRegexp(String value) {
            addCriterion("member_code regexp", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeLike(String value) {
            addCriterion("member_code like", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotLike(String value) {
            addCriterion("member_code not like", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeIn(List<String> values) {
            addCriterion("member_code in", values, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotIn(List<String> values) {
            addCriterion("member_code not in", values, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeBetween(String value1, String value2) {
            addCriterion("member_code between", value1, value2, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotBetween(String value1, String value2) {
            addCriterion("member_code not between", value1, value2, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCode2IsNull() {
            addCriterion("member_code2 is null");
            return (Criteria) this;
        }

        public Criteria andMemberCode2IsNotNull() {
            addCriterion("member_code2 is not null");
            return (Criteria) this;
        }

        public Criteria andMemberCode2EqualTo(String value) {
            addCriterion("member_code2 =", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2NotEqualTo(String value) {
            addCriterion("member_code2 <>", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2GreaterThan(String value) {
            addCriterion("member_code2 >", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2GreaterThanOrEqualTo(String value) {
            addCriterion("member_code2 >=", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2LessThan(String value) {
            addCriterion("member_code2 <", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2LessThanOrEqualTo(String value) {
            addCriterion("member_code2 <=", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2Regexp(String value) {
            addCriterion("member_code2 regexp", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2Like(String value) {
            addCriterion("member_code2 like", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2NotLike(String value) {
            addCriterion("member_code2 not like", value, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2In(List<String> values) {
            addCriterion("member_code2 in", values, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2NotIn(List<String> values) {
            addCriterion("member_code2 not in", values, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2Between(String value1, String value2) {
            addCriterion("member_code2 between", value1, value2, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andMemberCode2NotBetween(String value1, String value2) {
            addCriterion("member_code2 not between", value1, value2, "memberCode2");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeIsNull() {
            addCriterion("organization_code is null");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeIsNotNull() {
            addCriterion("organization_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeEqualTo(String value) {
            addCriterion("organization_code =", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotEqualTo(String value) {
            addCriterion("organization_code <>", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeGreaterThan(String value) {
            addCriterion("organization_code >", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeGreaterThanOrEqualTo(String value) {
            addCriterion("organization_code >=", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeLessThan(String value) {
            addCriterion("organization_code <", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeLessThanOrEqualTo(String value) {
            addCriterion("organization_code <=", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeRegexp(String value) {
            addCriterion("organization_code regexp", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeLike(String value) {
            addCriterion("organization_code like", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotLike(String value) {
            addCriterion("organization_code not like", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeIn(List<String> values) {
            addCriterion("organization_code in", values, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotIn(List<String> values) {
            addCriterion("organization_code not in", values, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeBetween(String value1, String value2) {
            addCriterion("organization_code between", value1, value2, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotBetween(String value1, String value2) {
            addCriterion("organization_code not between", value1, value2, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentIsNull() {
            addCriterion("department is null");
            return (Criteria) this;
        }

        public Criteria andDepartmentIsNotNull() {
            addCriterion("department is not null");
            return (Criteria) this;
        }

        public Criteria andDepartmentEqualTo(String value) {
            addCriterion("department =", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotEqualTo(String value) {
            addCriterion("department <>", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentGreaterThan(String value) {
            addCriterion("department >", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("department >=", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLessThan(String value) {
            addCriterion("department <", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLessThanOrEqualTo(String value) {
            addCriterion("department <=", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentRegexp(String value) {
            addCriterion("department regexp", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLike(String value) {
            addCriterion("department like", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotLike(String value) {
            addCriterion("department not like", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentIn(List<String> values) {
            addCriterion("department in", values, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotIn(List<String> values) {
            addCriterion("department not in", values, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentBetween(String value1, String value2) {
            addCriterion("department between", value1, value2, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotBetween(String value1, String value2) {
            addCriterion("department not between", value1, value2, "department");
            return (Criteria) this;
        }

        public Criteria andPositionIsNull() {
            addCriterion("`position` is null");
            return (Criteria) this;
        }

        public Criteria andPositionIsNotNull() {
            addCriterion("`position` is not null");
            return (Criteria) this;
        }

        public Criteria andPositionEqualTo(String value) {
            addCriterion("`position` =", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotEqualTo(String value) {
            addCriterion("`position` <>", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThan(String value) {
            addCriterion("`position` >", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThanOrEqualTo(String value) {
            addCriterion("`position` >=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThan(String value) {
            addCriterion("`position` <", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThanOrEqualTo(String value) {
            addCriterion("`position` <=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionRegexp(String value) {
            addCriterion("`position` regexp", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLike(String value) {
            addCriterion("`position` like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotLike(String value) {
            addCriterion("`position` not like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionIn(List<String> values) {
            addCriterion("`position` in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotIn(List<String> values) {
            addCriterion("`position` not in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionBetween(String value1, String value2) {
            addCriterion("`position` between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotBetween(String value1, String value2) {
            addCriterion("`position` not between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andAuthorizeIsNull() {
            addCriterion("authorize is null");
            return (Criteria) this;
        }

        public Criteria andAuthorizeIsNotNull() {
            addCriterion("authorize is not null");
            return (Criteria) this;
        }

        public Criteria andAuthorizeEqualTo(String value) {
            addCriterion("authorize =", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotEqualTo(String value) {
            addCriterion("authorize <>", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeGreaterThan(String value) {
            addCriterion("authorize >", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeGreaterThanOrEqualTo(String value) {
            addCriterion("authorize >=", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeLessThan(String value) {
            addCriterion("authorize <", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeLessThanOrEqualTo(String value) {
            addCriterion("authorize <=", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeRegexp(String value) {
            addCriterion("authorize regexp", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeLike(String value) {
            addCriterion("authorize like", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotLike(String value) {
            addCriterion("authorize not like", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeIn(List<String> values) {
            addCriterion("authorize in", values, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotIn(List<String> values) {
            addCriterion("authorize not in", values, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeBetween(String value1, String value2) {
            addCriterion("authorize between", value1, value2, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotBetween(String value1, String value2) {
            addCriterion("authorize not between", value1, value2, "authorize");
            return (Criteria) this;
        }

        public Criteria andIsOwnerIsNull() {
            addCriterion("is_owner is null");
            return (Criteria) this;
        }

        public Criteria andIsOwnerIsNotNull() {
            addCriterion("is_owner is not null");
            return (Criteria) this;
        }

        public Criteria andIsOwnerEqualTo(Integer value) {
            addCriterion("is_owner =", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerNotEqualTo(Integer value) {
            addCriterion("is_owner <>", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerGreaterThan(Integer value) {
            addCriterion("is_owner >", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_owner >=", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerLessThan(Integer value) {
            addCriterion("is_owner <", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerLessThanOrEqualTo(Integer value) {
            addCriterion("is_owner <=", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerIn(List<Integer> values) {
            addCriterion("is_owner in", values, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerNotIn(List<Integer> values) {
            addCriterion("is_owner not in", values, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerBetween(Integer value1, Integer value2) {
            addCriterion("is_owner between", value1, value2, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerNotBetween(Integer value1, Integer value2) {
            addCriterion("is_owner not between", value1, value2, "isOwner");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarIsNull() {
            addCriterion("account_avatar is null");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarIsNotNull() {
            addCriterion("account_avatar is not null");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarEqualTo(String value) {
            addCriterion("account_avatar =", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarNotEqualTo(String value) {
            addCriterion("account_avatar <>", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarGreaterThan(String value) {
            addCriterion("account_avatar >", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarGreaterThanOrEqualTo(String value) {
            addCriterion("account_avatar >=", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarLessThan(String value) {
            addCriterion("account_avatar <", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarLessThanOrEqualTo(String value) {
            addCriterion("account_avatar <=", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarRegexp(String value) {
            addCriterion("account_avatar regexp", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarLike(String value) {
            addCriterion("account_avatar like", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarNotLike(String value) {
            addCriterion("account_avatar not like", value, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarIn(List<String> values) {
            addCriterion("account_avatar in", values, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarNotIn(List<String> values) {
            addCriterion("account_avatar not in", values, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarBetween(String value1, String value2) {
            addCriterion("account_avatar between", value1, value2, "accountAvatar");
            return (Criteria) this;
        }

        public Criteria andAccountAvatarNotBetween(String value1, String value2) {
            addCriterion("account_avatar not between", value1, value2, "accountAvatar");
            return (Criteria) this;
        }

    }

    public static class CriteriaString {
        @JsonProperty("account_id")
        @JSONField(name = "account_id")
        private String accountId;

        public String getAccountId() {
            return accountId;
        }
        
        public void setAccountId(String _v) {
            accountId = _v;
        }

        @JsonProperty("id")
        @JSONField(name = "id")
        private String id;

        public String getId() {
            return id;
        }
        
        public void setId(String _v) {
            id = _v;
        }

        @JsonProperty("account")
        @JSONField(name = "account")
        private String account;

        public String getAccount() {
            return account;
        }
        
        public void setAccount(String _v) {
            account = _v;
        }

        @JsonProperty("password")
        @JSONField(name = "password")
        private String password;

        public String getPassword() {
            return password;
        }
        
        public void setPassword(String _v) {
            password = _v;
        }

        @JsonProperty("name")
        @JSONField(name = "name")
        private String name;

        public String getName() {
            return name;
        }
        
        public void setName(String _v) {
            name = _v;
        }

        @JsonProperty("mobile")
        @JSONField(name = "mobile")
        private String mobile;

        public String getMobile() {
            return mobile;
        }
        
        public void setMobile(String _v) {
            mobile = _v;
        }

        @JsonProperty("realname")
        @JSONField(name = "realname")
        private String realname;

        public String getRealname() {
            return realname;
        }
        
        public void setRealname(String _v) {
            realname = _v;
        }

        @JsonProperty("create_time")
        @JSONField(name = "create_time")
        private String createTime;

        public String getCreateTime() {
            return createTime;
        }
        
        public void setCreateTime(String _v) {
            createTime = _v;
        }

        @JsonProperty("status")
        @JSONField(name = "status")
        private String status;

        public String getStatus() {
            return status;
        }
        
        public void setStatus(String _v) {
            status = _v;
        }

        @JsonProperty("last_login_time")
        @JSONField(name = "last_login_time")
        private String lastLoginTime;

        public String getLastLoginTime() {
            return lastLoginTime;
        }
        
        public void setLastLoginTime(String _v) {
            lastLoginTime = _v;
        }

        @JsonProperty("sex")
        @JSONField(name = "sex")
        private String sex;

        public String getSex() {
            return sex;
        }
        
        public void setSex(String _v) {
            sex = _v;
        }

        @JsonProperty("avatar")
        @JSONField(name = "avatar")
        private String avatar;

        public String getAvatar() {
            return avatar;
        }
        
        public void setAvatar(String _v) {
            avatar = _v;
        }

        @JsonProperty("idcard")
        @JSONField(name = "idcard")
        private String idcard;

        public String getIdcard() {
            return idcard;
        }
        
        public void setIdcard(String _v) {
            idcard = _v;
        }

        @JsonProperty("province")
        @JSONField(name = "province")
        private String province;

        public String getProvince() {
            return province;
        }
        
        public void setProvince(String _v) {
            province = _v;
        }

        @JsonProperty("city")
        @JSONField(name = "city")
        private String city;

        public String getCity() {
            return city;
        }
        
        public void setCity(String _v) {
            city = _v;
        }

        @JsonProperty("area")
        @JSONField(name = "area")
        private String area;

        public String getArea() {
            return area;
        }
        
        public void setArea(String _v) {
            area = _v;
        }

        @JsonProperty("address")
        @JSONField(name = "address")
        private String address;

        public String getAddress() {
            return address;
        }
        
        public void setAddress(String _v) {
            address = _v;
        }

        @JsonProperty("email")
        @JSONField(name = "email")
        private String email;

        public String getEmail() {
            return email;
        }
        
        public void setEmail(String _v) {
            email = _v;
        }

        @JsonProperty("code")
        @JSONField(name = "code")
        private String code;

        public String getCode() {
            return code;
        }
        
        public void setCode(String _v) {
            code = _v;
        }

        @JsonProperty("dingtalk_openid")
        @JSONField(name = "dingtalk_openid")
        private String dingtalkOpenid;

        public String getDingtalkOpenid() {
            return dingtalkOpenid;
        }
        
        public void setDingtalkOpenid(String _v) {
            dingtalkOpenid = _v;
        }

        @JsonProperty("dingtalk_unionid")
        @JSONField(name = "dingtalk_unionid")
        private String dingtalkUnionid;

        public String getDingtalkUnionid() {
            return dingtalkUnionid;
        }
        
        public void setDingtalkUnionid(String _v) {
            dingtalkUnionid = _v;
        }

        @JsonProperty("dingtalk_userid")
        @JSONField(name = "dingtalk_userid")
        private String dingtalkUserid;

        public String getDingtalkUserid() {
            return dingtalkUserid;
        }
        
        public void setDingtalkUserid(String _v) {
            dingtalkUserid = _v;
        }

        @JsonProperty("description")
        @JSONField(name = "description")
        private String description;

        public String getDescription() {
            return description;
        }
        
        public void setDescription(String _v) {
            description = _v;
        }

        @JsonProperty("member_code")
        @JSONField(name = "member_code")
        private String memberCode;

        public String getMemberCode() {
            return memberCode;
        }
        
        public void setMemberCode(String _v) {
            memberCode = _v;
        }

        @JsonProperty("member_code2")
        @JSONField(name = "member_code2")
        private String memberCode2;

        public String getMemberCode2() {
            return memberCode2;
        }
        
        public void setMemberCode2(String _v) {
            memberCode2 = _v;
        }

        @JsonProperty("organization_code")
        @JSONField(name = "organization_code")
        private String organizationCode;

        public String getOrganizationCode() {
            return organizationCode;
        }
        
        public void setOrganizationCode(String _v) {
            organizationCode = _v;
        }

        @JsonProperty("department")
        @JSONField(name = "department")
        private String department;

        public String getDepartment() {
            return department;
        }
        
        public void setDepartment(String _v) {
            department = _v;
        }

        @JsonProperty("position")
        @JSONField(name = "position")
        private String position;

        public String getPosition() {
            return position;
        }
        
        public void setPosition(String _v) {
            position = _v;
        }

        @JsonProperty("authorize")
        @JSONField(name = "authorize")
        private String authorize;

        public String getAuthorize() {
            return authorize;
        }
        
        public void setAuthorize(String _v) {
            authorize = _v;
        }

        @JsonProperty("is_owner")
        @JSONField(name = "is_owner")
        private String isOwner;

        public String getIsOwner() {
            return isOwner;
        }
        
        public void setIsOwner(String _v) {
            isOwner = _v;
        }

        @JsonProperty("account_avatar")
        @JSONField(name = "account_avatar")
        private String accountAvatar;

        public String getAccountAvatar() {
            return accountAvatar;
        }
        
        public void setAccountAvatar(String _v) {
            accountAvatar = _v;
        }

    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }
}
